Group index is used to group objects in the designer (using "Group" button). When you select
any object in a group, entire group becomes selected. To reset a group, set the <b>GroupIndex</b>
to 0 (default value).
</remarks>
</member>
<member name="P:FastReport.ComponentBase.Right">
<summary>
Gets the right coordinate of the object in relation to its container.
</summary>
<remarks>
To change the right coordinate, change the <see cref="P:FastReport.ComponentBase.Left"/> and/or <see cref="P:FastReport.ComponentBase.Width"/> properties.
</remarks>
</member>
<member name="P:FastReport.ComponentBase.Bottom">
<summary>
Gets the bottom coordinate of the object in relation to its container.
</summary>
<remarks>
To change the bottom coordinate, change the <see cref="P:FastReport.ComponentBase.Top"/> and/or <see cref="P:FastReport.ComponentBase.Height"/> properties.
Occurs when the report designer is about to show the "Open" dialog.
</summary><remarks>
Use this event to attach own "Open" dialog to the designer. In the event handler, you must
display a dialog window to allow user to choose a report file.
If dialog was executed successfully, you must return <b>e.Cancel</b> = <b>false</b> and set the
<b>e.FileName</b> to the selected file name.
<para/>You also need to use <see cref="E:FastReport.Design.DesignerSettings.CustomOpenReport"/> event to provide code that
will open the report.
</remarks>
<example>
This example shows how to attach own "Open" and "Save" dialogs to the designer.
It uses the following events: <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/>,
Occurs when the report designer is about to show the "Save" dialog.
</summary><remarks>
Use this event to attach own "Save" dialog to the designer. In the event handler, you must
display a dialog window to allow user to choose a report file.
If dialog was executed successfully, you must return <b>e.Cancel</b> = <b>false</b> and set the
<b>e.FileName</b> to the selected file name.
<para/>You also need to use <see cref="E:FastReport.Design.DesignerSettings.CustomSaveReport"/> event to provide code that
will save the report.
</remarks>
<example>
This example shows how to attach own "Open" and "Save" dialogs to the designer.
It uses the following events: <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/>,
Occurs when the report designer is about to load the report.
</summary><remarks>
<para/>This event is used together with the <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/> event.
<para/>Use this event to attach own "Open" dialog to the designer. In the event handler, you must
load the <b>e.Report</b> from the location specified in the <b>e.FileName</b> property.
For example, if you work with files: <c>e.Report.Load(e.FileName);</c>
</remarks>
<example>
This example shows how to attach own "Open" and "Save" dialogs to the designer.
It uses the following events: <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/>,
Occurs when the report designer is about to save the report.
</summary><remarks>
<para/>This event is used together with the <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/> event.
<para/>Use this event to attach own "Save" dialog to the designer. In the event handler, you must
save the <b>e.Report</b> to the location specified in the <b>e.FileName</b> property.
For example, if you work with files: <c>e.Report.Save(e.FileName);</c>
</remarks>
<example>
This example shows how to attach own "Open" and "Save" dialogs to the designer.
It uses the following events: <see cref="E:FastReport.Design.DesignerSettings.CustomOpenDialog"/>, <see cref="E:FastReport.Design.DesignerSettings.CustomSaveDialog"/>,
Contains the email account settings such as host, email address, name.
</summary>
<remarks>
You have to set up at least the <see cref="P:FastReport.Export.Email.EmailSettings.Address"/> and <see cref="P:FastReport.Export.Email.EmailSettings.Host"/> properties. If your
host requires authentication, provide the <see cref="P:FastReport.Export.Email.EmailSettings.UserName"/> and <see cref="P:FastReport.Export.Email.EmailSettings.Password"/>
properties as well.
<para/>Set <see cref="P:FastReport.Export.Email.EmailSettings.UseMAPI"/> property to <b>true</b> if you want to use default email client
such as Outlook to send an email. In this case, all other properties will be ignored.
Specify the <see cref="P:FastReport.Export.Email.EmailSettings.UserName"/> and <see cref="P:FastReport.Export.Email.EmailSettings.Password"/> properties if your host requires
Specify the <see cref="P:FastReport.Export.Email.EmailSettings.UserName"/> and <see cref="P:FastReport.Export.Email.EmailSettings.Password"/> properties if your host requires
<para>Prepared page is a page that you can see in the preview window. Prepared pages can be
accessed via <see cref="P:FastReport.Report.PreparedPages"/> property.</para>
<para>The common scenarios of using this object are:
<list type="bullet">
<item>
<description>Working with prepared pages after the report is finished: load
(<see cref="M:FastReport.Preview.PreparedPages.Load(System.String)"/>) or save (<see cref="M:FastReport.Preview.PreparedPages.Save(System.String)"/>) pages
from/to a .fpx file, get a page with specified index to work with its objects
You should override this method if you developing a new connection component.
<para/>If your connection component does not use data connection, you need to override
the <see cref="M:FastReport.Data.DataConnectionBase.FillTableSchema(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)"/> and <see cref="M:FastReport.Data.DataConnectionBase.FillTableData(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)"/> methods instead.
</remarks>
<example>Here is the example of this method implementation:
You should override this method if you are developing a new connection component. In this method,
you need to create the adapter and set its <b>SelectCommand</b>'s parameters.
<para/>If your connection does not use data adapter, you need to override
the <see cref="M:FastReport.Data.DataConnectionBase.FillTableSchema(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)"/> and <see cref="M:FastReport.Data.DataConnectionBase.FillTableData(System.Data.DataTable,System.String,FastReport.Data.CommandParameterCollection)"/> methods instead.
</remarks>
<example>Here is the example of this method implementation:
<code>
public override DbDataAdapter GetAdapter(string selectCommand, DbConnection connection,
CommandParameterCollection parameters)
{
OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand, connection as OleDbConnection);
Usually you don't need to use this method. Internally it uses the <see cref="M:FastReport.Data.DataConnectionBase.GetConnection"/> and
<see cref="M:FastReport.Data.DataConnectionBase.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)"/> methods to fill the table schema. If you create own connection component
that does not use nor connection or adapter, then you need to override this method.
Usually you don't need to use this method. Internally it uses the <see cref="M:FastReport.Data.DataConnectionBase.GetConnection"/> and
<see cref="M:FastReport.Data.DataConnectionBase.GetAdapter(System.String,System.Data.Common.DbConnection,FastReport.Data.CommandParameterCollection)"/> methods to fill the table data. If you create own connection component
that does not use nor connection or adapter, then you need to override this method.
Replaces the format item in a specified String with the text equivalent of the value of a
corresponding Object instance in a specified array.
</summary>
<param name="format">A String containing zero or more format items.</param>
<param name="args">An Object array containing zero or more objects to format.</param>
<returns>A copy of format in which the format items have been replaced by the String equivalent of the corresponding instances of Object in args.</returns>
This form contains the <see cref="T:FastReport.Design.StandardDesigner.DesignerControl"/>. Use the <see cref="P:FastReport.Design.StandardDesigner.DesignerForm.Designer"/>
property to get access to this control.
<para/>Usually you don't need to create an instance of this class. The designer can be called
using the <see cref="M:FastReport.Report.Design"/> method of
the <see cref="T:FastReport.Report"/> instance.
<para/>If you decided to use this class, you need:
<list type="bullet">
<item>
<description>create an instance of this class;</description>
</item>
<item>
<description>set the <b>Designer.Report</b> property to report that you need to design;</description>
</item>
<item>
<description>call either <b>ShowModal</b> or <b>Show</b> methods to display a form.</description>
Parses token information in stream for Google Drive.
</summary>
<param name="stream">The stream for parse.</param>
<returns>The Google Drive access token.</returns>
</member>
<member name="T:FastReport.CellularTextObject">
<summary>
Represents a text object which draws each symbol of text in its own cell.
</summary>
<remarks>
<para/>The text may be aligned to left or right side, or centered. Use the <see cref="T:FastReport.HorzAlign"/>
property to do this. The "justify" align is not supported now, as well as vertical alignment.
<para/>The cell size is defined in the <see cref="P:FastReport.CellularTextObject.CellWidth"/> and <see cref="P:FastReport.CellularTextObject.CellHeight"/> properties.
These properties are 0 by default, in this case the size of cell is calculated automatically based
on the object's <b>Font</b>.
<para/>To define a spacing (gap) between cells, use the <see cref="P:FastReport.CellularTextObject.HorzSpacing"/> and
<para/>To access Microsoft Chart object, use the <see cref="P:FastReport.MSChart.MSChartObject.Chart"/> property. It allows you
to set up chart appearance. For more information on available properties, refer to the
MS Chart documentation.
<para/>Chart object may contain one or several <i>series</i>. Each series is represented by two objects:
<list type="bullet">
<item>
<description>the <b>Series</b> that is handled by MS Chart. It is stored in the
<b>Chart.Series</b> collection;</description>
</item>
<item>
<description>the <see cref="T:FastReport.MSChart.MSChartSeries"/> object that provides data for MS Chart series.
It is stored in the <see cref="P:FastReport.MSChart.MSChartObject.Series"/> collection.</description>
</item>
</list>
<para/>Do not operate series objects directly. To add or remove series, use
the <see cref="M:FastReport.MSChart.MSChartObject.AddSeries(System.Windows.Forms.DataVisualization.Charting.SeriesChartType)"/> and <see cref="M:FastReport.MSChart.MSChartObject.DeleteSeries(System.Int32)"/> methods. These methods
handle <b>Series</b> and <b>MSChartSeries</b> in sync.
<para/>If you have a chart object on your Form and want to print it in FastReport, use
the <see cref="M:FastReport.MSChart.MSChartObject.AssignChart(System.Windows.Forms.DataVisualization.Charting.Chart)"/> method.
To calculate the necessary number of columns and rows, set the <see cref="P:FastReport.Barcode.BarcodePDF417.Columns"/>
and <see cref="P:FastReport.Barcode.BarcodePDF417.Rows"/> properties to 0. In this case, the <see cref="P:FastReport.Barcode.BarcodePDF417.AspectRatio"/> property
To calculate the necessary number of columns and rows, set the <see cref="P:FastReport.Barcode.BarcodePDF417.Columns"/>
and <see cref="P:FastReport.Barcode.BarcodePDF417.Rows"/> properties to 0. In this case, the <see cref="P:FastReport.Barcode.BarcodePDF417.AspectRatio"/> property
Represents a Picture object that can display pictures.
</summary>
<remarks>
The Picture object can display the following kind of pictures:
<list type="bullet">
<item>
<description>picture that is embedded in the report file. Use the <see cref="P:FastReport.PictureObject.Image"/>
property to do this;</description>
</item>
<item>
<description>picture that is stored in the database BLOb field. Use the <see cref="P:FastReport.PictureObject.DataColumn"/>
property to specify the name of data column you want to show;</description>
</item>
<item>
<description>picture that is stored in the local disk file. Use the <see cref="P:FastReport.PictureObject.ImageLocation"/>
property to specify the name of the file;</description>
</item>
<item>
<description>picture that is stored in the Web. Use the <see cref="P:FastReport.PictureObject.ImageLocation"/>
property to specify the picture's URL.</description>
</item>
</list>
<para/>Use the <see cref="P:FastReport.PictureObject.SizeMode"/> property to specify a size mode. The <see cref="P:FastReport.PictureObject.MaxWidth"/>
and <see cref="P:FastReport.PictureObject.MaxHeight"/> properties can be used to restrict the image size if <b>SizeMode</b>
is set to <b>AutoSize</b>.
<para/>The <see cref="P:FastReport.PictureObject.TransparentColor"/> property can be used to display an image with
transparent background. Use the <see cref="P:FastReport.PictureObject.Transparency"/> property if you want to display
Gets or sets a value indicating that the image stored in the <see cref="P:FastReport.PictureObject.Image"/>
property should be disposed when this object is disposed.
</summary>
<remarks>
By default, image assigned to the <see cref="P:FastReport.PictureObject.Image"/> property is never disposed - you should
take care about it. If you want to dispose the image when this <b>PictureObject</b> is disposed,
set this property to <b>true</b> right after you assign an image to the <see cref="P:FastReport.PictureObject.Image"/> property.
</remarks>
</member>
<member name="P:FastReport.PictureObject.Width">
<inheritdoc/>
</member>
<member name="P:FastReport.PictureObject.Height">
<inheritdoc/>
</member>
<member name="T:FastReport.SortOrder">
<summary>
Specifies a sort order.
</summary>
<remarks>
This enumeration is used in the group header and in the "Matrix" object.
</remarks>
</member>
<member name="F:FastReport.SortOrder.None">
<summary>
Specifies no sort (natural order).
</summary>
</member>
<member name="F:FastReport.SortOrder.Ascending">
<summary>
Specifies an ascending sort order.
</summary>
</member>
<member name="F:FastReport.SortOrder.Descending">
<summary>
Specifies a descending sort order.
</summary>
</member>
<member name="T:FastReport.GroupHeaderBand">
<summary>
Represents a group header band.
</summary>
<remarks>
A simple group consists of one <b>GroupHeaderBand</b> and the <b>DataBand</b> that is set
to the <see cref="P:FastReport.GroupHeaderBand.Data"/> property. To create the nested groups, use the <see cref="P:FastReport.GroupHeaderBand.NestedGroup"/> property.
<note type="caution">
Only the last nested group can have data band.
</note>
<para/>Use the <see cref="P:FastReport.GroupHeaderBand.Condition"/> property to set the group condition. The <see cref="P:FastReport.GroupHeaderBand.SortOrder"/>
property can be used to set the sort order for group's data rows. You can also use the <b>Sort</b>
property of the group's <b>DataBand</b> to specify additional sort.
</remarks>
<example>This example shows how to create nested groups.
<code>
ReportPage page = report.Pages[0] as ReportPage;
// create the main group
GroupHeaderBand mainGroup = new GroupHeaderBand();
mainGroup.Height = Units.Millimeters * 10;
mainGroup.Name = "MainGroup";
mainGroup.Condition = "[Orders.CustomerName]";
// add a group to the page
page.Bands.Add(mainGroup);
// create the nested group
GroupHeaderBand nestedGroup = new GroupHeaderBand();
The instance of this class represents a barcode. Here are some common
actions that can be performed with this object:
<list type="bullet">
<item>
<description>To select the type of barcode, use the <see cref="P:FastReport.Barcode.BarcodeObject.Barcode"/> property.
</description>
</item>
<item>
<description>To specify a static barcode data, use the <see cref="P:FastReport.Barcode.BarcodeObject.Text"/> property.
You also may use the <see cref="P:FastReport.Barcode.BarcodeObject.DataColumn"/> or <see cref="P:FastReport.Barcode.BarcodeObject.Expression"/> properties
to specify dynamic value for a barcode.
</description>
</item>
<item>
<description>To set a barcode orientation, use the <see cref="P:FastReport.Barcode.BarcodeObject.Angle"/> property.
</description>
</item>
<item>
<description>To specify the size of barcode, set the <see cref="P:FastReport.Barcode.BarcodeObject.AutoSize"/> property
to <b>true</b> and use the <see cref="P:FastReport.Barcode.BarcodeObject.Zoom"/> property to zoom the barcode.
If <see cref="P:FastReport.Barcode.BarcodeObject.AutoSize"/> property is set to <b>false</b>, you need to specify the
size using the <see cref="P:FastReport.ComponentBase.Width">Width</see> and
Registers all standard objects, wizards, export filters.
</summary>
</member>
<member name="T:FastReport.Map.ShapeBase">
<summary>
The base class for shape objects such as <see cref="T:FastReport.Map.ShapePoint"/>, <see cref="T:FastReport.Map.ShapePolyLine"/> and <see cref="T:FastReport.Map.ShapePolygon"/>.
In order to use this class, you need to set up at least the following properties:
<see cref="P:FastReport.Export.Email.EmailExport.Address"/>, <see cref="P:FastReport.Export.Email.EmailExport.Subject"/>, <see cref="P:FastReport.Export.Email.EmailExport.Account"/>. Use the <see cref="P:FastReport.Export.Email.EmailExport.Export"/>
property to choose the format of an attachment. If you leave it empty, the attachment will be
in the .FRP format (FastReport prepared report). When you done with settings, call the
<see cref="M:FastReport.Export.Email.EmailExport.SendEmail(FastReport.Report)"/> method to send an email.
</remarks>
<example>
This example demonstrates the bare minimum required to send an email.
<code>
EmailExport export = new EmailExport();
export.Account.Address = "my@address.net";
export.Account.Host = "myhost";
export.Address = "recipient@address.net";
export.Subject = "Re: analysis report";
// the report1 report must be prepared at this moment
This form contains the <see cref="T:FastReport.Design.StandardDesigner.DesignerControl"/>. Use the <see cref="P:FastReport.Design.StandardDesigner.Office2007DesignerForm.Designer"/>
property to get access to this control.
<para/>Usually you don't need to create an instance of this class. The designer can be called
using the <see cref="M:FastReport.Report.Design"/> method of
the <see cref="T:FastReport.Report"/> instance.
<para/>If you decided to use this class, you need:
<list type="bullet">
<item>
<description>create an instance of this class;</description>
</item>
<item>
<description>set the <b>Designer.Report</b> property to report that you need to design;</description>
</item>
<item>
<description>call either <b>ShowModal</b> or <b>Show</b> methods to display a form.</description>
Registers an object in the specified category with button's image, text and object's flags.
</summary>
<param name="obj">Type of object to register.</param>
<param name="category">Name of category to register in.</param>
<param name="image">Image for object's button.</param>
<param name="text">Text for object's button.</param>
<param name="flags">Integer value that will be passed to object's <b>OnBeforeInsert</b> method.</param>
<remarks>
<para>See the <see cref="M:FastReport.Utils.RegisteredObjects.Add(System.Type,System.String,System.Drawing.Bitmap,System.String)"/> method for more details.</para>
<para>To learn about flags, see the <see cref="M:FastReport.Base.OnBeforeInsert(System.Int32)"/> method.</para>
Registers an object in the specified category with button's image, text, object's flags and multi-insert flag.
</summary>
<param name="obj">Type of object to register.</param>
<param name="category">Name of category to register in.</param>
<param name="image">Image for object's button.</param>
<param name="text">Text for object's button.</param>
<param name="flags">Integer value that will be passed to object's <b>OnBeforeInsert</b> method.</param>
<param name="multiInsert">Specifies whether the object may be inserted several times until you
select the "arrow" button or insert another object.</param>
<remarks>
<para>See the <see cref="M:FastReport.Utils.RegisteredObjects.Add(System.Type,System.String,System.Drawing.Bitmap,System.String)"/> method for more details.</para>
<para>To learn about flags, see the <see cref="M:FastReport.Base.OnBeforeInsert(System.Int32)"/> method.</para>
<param name="category">Short name of category.</param>
<param name="text">Display name of category.</param>
<remarks>
Short name is used to reference the category in the subsequent <see cref="M:FastReport.Utils.RegisteredObjects.AddFunction(System.Reflection.MethodInfo,System.String)"/>
method call. It may be any value, for example, "MyFuncs". Display name of category is displayed
in the "Data" window. In may be, for example, "My Functions".
<para/>The following standard categories are registered by default:
<list type="bullet">
<item>
<description>"Math"</description>
</item>
<item>
<description>"Text"</description>
</item>
<item>
<description>"DateTime"</description>
</item>
<item>
<description>"Formatting"</description>
</item>
<item>
<description>"Conversion"</description>
</item>
<item>
<description>"ProgramFlow"</description>
</item>
</list>
</remarks>
<example>
This example shows how to register a new category:
<code>
RegisteredObjects.AddFunctionCategory("MyFuncs", "My Functions");
This event is used to handle the table print process in a code. Using special methods
like <see cref="M:FastReport.Table.TableObject.PrintRow(System.Int32)"/>, <see cref="M:FastReport.Table.TableObject.PrintColumn(System.Int32)"/> you can print specified rows/columns.
<para/>First way is to repeat specified row(s) to get a table that will grow downwards.
To do this, you have to call the <b>PrintRow</b> method followed by the <b>PrintColumns</b> method.
<para/>Another way is to repeat the specified column(s) to get a table that grows sidewards.
To do this, call the <b>PrintColumn</b> method followed by the <b>PrintRows</b> method.
<para/>Finally, the third way is to repeat rows and columns. The table will grow downwards and
sidewards. To do this, call the <b>PrintRow</b> method followed by the <b>PrintColumn</b>
method (or vice versa).
<para/>
<note type="caution">
When you print a table row-by-row, you must call one of the <b>PrintColumn</b>,
<b>PrintColumns</b> methods right after the <b>PrintRow</b> method.
In the same manner, when you print a table column-by-column, call one of the
<b>PrintRow</b>, <b>PrintRows</b> methods right after the <b>PrintColumn</b> method.
If you ignore this rule you will get an exception.
</note>
</remarks>
<example>
In this example, we will consider all three ways to print a table which has 3 rows and 3 columns.
<para/>Case 1: print a table downwards.
<code>
// print table header (the first row)
Table1.PrintRow(0);
Table1.PrintColumns();
// print table body (the second row)
for (int i = 0; i < 10; i++)
{
Table1.PrintRow(1);
Table1.PrintColumns();
}
// print table footer (the third row)
Table1.PrintRow(2);
Table1.PrintColumns();
</code>
<para/>Case 2: print a table sidewards.
<code>
// print table header (the first column)
Table1.PrintColumn(0);
Table1.PrintRows();
// print table body (the second column)
for (int i = 0; i < 10; i++)
{
Table1.PrintColumn(1);
Table1.PrintRows();
}
// print table footer (the third column)
Table1.PrintColumn(2);
Table1.PrintRows();
</code>
<para/>Case 3: print a table downwards and sidewards.
Gets or sets a value indicating whether pressing ENTER in a multiline TextBox control creates a new line of text in the control or activates the default button for the form.
Wraps the <see cref="P:System.Windows.Forms.TextBox.AcceptsReturn"/> property.
Gets or sets a value indicating whether pressing the TAB key in a multiline text box control types a TAB character in the control instead of moving the focus to the next control in the tab order.
Wraps the <see cref="P:System.Windows.Forms.TextBoxBase.AcceptsTab"/> property.
Represents a Windows Forms control used to preview a report.
</summary>
<remarks>
To use this control, place it on a form and link it to a report using the report's
<see cref="P:FastReport.Report.Preview"/> property. To show a report, call
the <b>Report.Show</b> method:
<code>
report1.Preview = previewControl1;
report1.Show();
</code>
<para>Use this control's methods such as <see cref="M:FastReport.Preview.PreviewControl.Print"/>, <see cref="M:FastReport.Preview.PreviewControl.Save"/> etc. to
handle the preview. Call <see cref="M:FastReport.Preview.PreviewControl.Clear"/> method to clear the preview.</para>
<para>You can specify whether the standard toolbar is visible in the <see cref="P:FastReport.Preview.PreviewControl.ToolbarVisible"/>
property. The <see cref="P:FastReport.Preview.PreviewControl.StatusbarVisible"/> property allows you to hide/show the statusbar.
<param name="g"><b>Graphics</b> object to draw on.</param>
<param name="font">Font that used to draw text.</param>
<param name="brush">Brush that determines the color and texture of the drawn text. </param>
<param name="rect"><b>RectangleF</b> structure that specifies the location of the drawn text.</param>
<param name="format">StringFormat that specifies formatting attributes, such as line spacing and alignment, that are applied to the drawn text.</param>
<param name="horzAlign">Horizontal alignment of the text.</param>
<param name="fontWidthRatio">Width ratio of the font used to draw a string.</param>
<param name="lineHeight">Line height, in pixels.</param>
<param name="angle">Angle of the text, in degrees.</param>
<param name="wysiwyg">Indicates whther to draw string close to the printout.</param>
<param name="forceJustify">Force justify for the last line.</param>
</member>
<member name="M:FastReport.Utils.DrawText.#ctor">
<summary>
Initializes a new instance of the <b>DrawText</b> class with default settings.
To turn on and off the lines, use the <see cref="P:FastReport.Border.Lines"/> property. To set the same color, style or width
for each line, use <see cref="P:FastReport.Border.Color"/>, <see cref="P:FastReport.Border.Style"/>, <see cref="P:FastReport.Border.Width"/> properties of the <b>Border</b>.
Use the <see cref="P:FastReport.Table.TableColumn.Width"/> property to set the width of a column. If <see cref="P:FastReport.Table.TableColumn.AutoSize"/>
property is <b>true</b>, the column will calculate its width automatically.
<para/>You can also set the <see cref="P:FastReport.Table.TableColumn.MinWidth"/> and <see cref="P:FastReport.Table.TableColumn.MaxWidth"/> properties
Gets or sets a value indicating whether the height of the column headers is adjustable and whether it can be adjusted by the user or is automatically adjusted to fit the contents of the headers.
Wraps the <see cref="P:System.Windows.Forms.DataGridView.ColumnHeadersHeightSizeMode"/> property.
Gets or sets a value indicating whether the width of the row headers is adjustable and whether it can be adjusted by the user or is automatically adjusted to fit the contents of the headers.
Wraps the <see cref="P:System.Windows.Forms.DataGridView.RowHeadersWidthSizeMode"/> property.
The descriptor that is used to describe one matrix data cell.
</summary>
<remarks>
The <see cref="T:FastReport.Matrix.MatrixCellDescriptor"/> class is used to define one data cell of the matrix.
The key properties are <see cref="P:FastReport.Matrix.MatrixDescriptor.Expression"/> and <see cref="P:FastReport.Matrix.MatrixCellDescriptor.Function"/>.
To set visual appearance of the data cell, use the <see cref="P:FastReport.Matrix.MatrixDescriptor.TemplateCell"/>
property.
<para/>The collection of descriptors used to represent the matrix data cells is stored
Occurs when the report designer is about to show the "Open" dialog.
</summary><remarks>
Use this event to attach own "Open" dialog to the designer. In the event handler, you must
display a dialog window to allow user to choose a report file.
If dialog was executed successfully, you must return <b>e.Cancel</b> = <b>false</b> and set the
<b>e.FileName</b> to the selected file name.
<para/>You also need to use <see cref="E:FastReport.EnvironmentSettings.CustomOpenReport"/> event to provide code that
will open the report.
</remarks>
<example>
This example shows how to attach own "Open" and "Save" dialogs to the designer.
It uses the following events: <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,
Occurs when the report designer is about to show the "Save" dialog.
</summary><remarks>
Use this event to attach own "Save" dialog to the designer. In the event handler, you must
display a dialog window to allow user to choose a report file.
If dialog was executed successfully, you must return <b>e.Cancel</b> = <b>false</b> and set the
<b>e.FileName</b> to the selected file name.
<para/>You also need to use <see cref="E:FastReport.EnvironmentSettings.CustomSaveReport"/> event to provide code that
will save the report.
</remarks>
<example>
This example shows how to attach own "Open" and "Save" dialogs to the designer.
It uses the following events: <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,
Occurs when the report designer is about to load the report.
</summary><remarks>
<para/>This event is used together with the <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/> event.
<para/>Use this event to attach own "Open" dialog to the designer. In the event handler, you must
load the <b>e.Report</b> from the location specified in the <b>e.FileName</b> property.
For example, if you work with files: <c>e.Report.Load(e.FileName);</c>
</remarks>
<example>
This example shows how to attach own "Open" and "Save" dialogs to the designer.
It uses the following events: <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,
Occurs when the report designer is about to save the report.
</summary><remarks>
<para/>This event is used together with the <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/> event.
<para/>Use this event to attach own "Save" dialog to the designer. In the event handler, you must
save the <b>e.Report</b> to the location specified in the <b>e.FileName</b> property.
For example, if you work with files: <c>e.Report.Save(e.FileName);</c>
</remarks>
<example>
This example shows how to attach own "Open" and "Save" dialogs to the designer.
It uses the following events: <see cref="E:FastReport.EnvironmentSettings.CustomOpenDialog"/>, <see cref="E:FastReport.EnvironmentSettings.CustomSaveDialog"/>,